//LCP 30 魔塔传奇 javascript没有堆的实现，懒得自己写，只好暴力

/**
 * @param {number[]} nums
 * @return {number}
 */
 var magicTower = function(nums) {
    let start=nums.length;
    let n=nums.concat(new Array(start).fill(0));
    let now=0,i=0,ret=0;
    let go=new Array();
    while(i<n.length){
        if(n[i]==0){
            i++;
            continue;
        }
        go.push(n[i]);
        now+=n[i];
        if(now<0){
            if(i>=nums.length){
                return -1;
            }
            let min=Math.min(...go);
            go[go.indexOf(min)]=0;
            now-=min;
            ret++;
            n[start]=min;
            start++;
        }
        i++;
    }
    return ret;
};

// 执行用时：
// 6276 ms
// , 在所有 JavaScript 提交中击败了
// 6.56%
// 的用户
// 内存消耗：
// 62.5 MB
// , 在所有 JavaScript 提交中击败了
// 6.56%
// 的用户